import {
     getOrderList,
     orderData,
     orderCancel,
     orderDel,
     orderPay
} from '../../api/order.js';
import {
     getUserInfo,
     userShare
} from '../../api/user.js';

const app = getApp();
Page({

     /**
      * 页面的初始数据
      */
     data: {
          parameter: {
               'navbar': '1',
               'return': '1',
               'title': '我的订单',
               'color': true,
               'class': '0'
          },
          loading: false, //是否加载中
          loadend: false, //是否加载完毕
          loadTitle: '加载更多', //提示语
          orderList: [], //订单数组
          orderData: {}, //订单详细统计
          orderStatus: 0, //订单状态
          page: 1,
          limit: 10,
          isClose: false,
          payMode: [{
                    name: "微信支付",
                    icon: "icon-weixinzhifu",
                    value: 'weixin',
                    title: '微信快捷支付'
               },
               // {
               //      name: "余额支付",
               //      icon: "icon-yuezhifu",
               //      value: 'yue',
               //      title: '可用余额:',
               //      number: 0
               // },
          ],
          pay_close: false,
          pay_order_id: '',
          totalPrice: '0',
          number:''
     },

     /**
      * 登录回调
      * 
      */
     onLoadFun: function() {
          this.getOrderData();
          this.getOrderList();
          this.getUserInfo();
     },
     /**
      * 事件回调
      * 
      */
     onChangeFun: function(e) {
          let opt = e.detail;
          let action = opt.action || null;
          let value = opt.value != undefined ? opt.value : null;
          (action && this[action]) && this[action](value);
     },
     /**
      * 获取用户信息
      * 
      */
     getUserInfo: function() {
          let that = this;
          getUserInfo().then(res => {
               // that.data.payMode[1].number = res.data.now_money;
               that.setData({
                    payMode: that.data.payMode
               });
          });
     },
     /**
      * 关闭支付组件
      * 
      */
     pay_close: function() {
          this.setData({
               pay_close: false
          });
     },
     /**
      * 生命周期函数--监听页面加载
      */
     onLoad: function(options) {
          if (options.status) this.setData({
               orderStatus: options.status
          });
          this.setData({
               'parameter.return': options.is_return ? '0' : '1'
          });
     },
     /**
      * 获取订单统计数据
      * 
      */
     getOrderData: function() {
          var that = this;
          orderData().then(res => {
               that.setData({
                    orderData: res.data
               });
          })
     },
     /**
      * 取消订单
      * 
      */
     cancelOrder: function(e) {
          var order_id = e.currentTarget.dataset.order_id;
          var index = e.currentTarget.dataset.index,
               that = this;
          if (!order_id) return app.Tips({
               title: '缺少订单号无法取消订单'
          });
          orderCancel(order_id).then(res => {
               return app.Tips({
                    title: res.msg,
                    icon: 'success'
               }, function() {
                    that.data.orderList.splice(index, 1);
                    that.setData({
                         orderList: that.data.orderList,
                         'orderData.unpaid_count': that.data.orderData.unpaid_count - 1
                    });
                    that.getOrderData();
               });
          }).catch(err => {
               return app.Tips({
                    title: err
               });
          });
     },
     /**
      * 打开支付组件
      * 
      */
     goPay: function(e) {
          let order_id = e.currentTarget.dataset.order_id,
               pay_price = e.currentTarget.dataset.pay_price;
          this.setData({
               pay_close: true,
               pay_order_id: order_id,
               totalPrice: pay_price
          });
     },
     /**
      * 支付成功回调
      * 
      */
     pay_complete: function() {
          this.setData({
               loadend: false,
               page: 1,
               orderList: [],
               pay_close: false,
               pay_order_id: ''
          });
          this.getOrderData();
          this.getOrderList();
     },
     /**
      * 支付失败回调
      * 
      */
     pay_fail: function() {
          this.setData({
               pay_close: false,
               pay_order_id: ''
          });
     },
     /**
      * 去订单详情
      */
     goOrderDetails: function(e) {
          var order_id = e.currentTarget.dataset.order_id;
          if (!order_id) return app.Tips({
               title: '缺少订单号无法查看订单详情'
          });
          wx.navigateTo({
               url: '/pages/order_details/index?order_id=' + order_id
          })
     },
     /**
      * 切换类型
      */
     statusClick: function(e) {
          var status = e.currentTarget.dataset.status;
          if (status == this.data.orderStatus) return;
          this.setData({
               orderStatus: status,
               loadend: false,
               page: 1,
               orderList: []
          });
          this.getOrderList();
     },
     /**
      * 获取订单列表
      */
     getOrderList: function() {
          var that = this;
          if (that.data.loadend) return;
          if (that.data.loading) return;
          that.setData({
               loading: true,
               loadTitle: ""
          });
          getOrderList({
               type: that.data.orderStatus,
               page: that.data.page,
               limit: that.data.limit,
          }).then(res => {
               console.log(res)
               var list = res.data || [];
               var loadend = list.length < that.data.limit;
               that.data.orderList = app.SplitArray(list, that.data.orderList);
               that.setData({
                    orderList: that.data.orderList,
                    loadend: loadend,
                    loading: false,
                    loadTitle: loadend ? "我也是有底线的" : '加载更多',
                    page: that.data.page + 1,
               });
          }).catch(err => {
               that.setData({
                    loading: false,
                    loadTitle: "加载更多"
               });
          })
     },

     /**
      * 删除订单
      */
     delOrder: function(e) {
          var order_id = e.currentTarget.dataset.order_id;
          var index = e.currentTarget.dataset.index,
               that = this;
          orderDel(order_id).then(res => {
               that.data.orderList.splice(index, 1);
               that.setData({
                    orderList: that.data.orderList,
                    'orderData.unpaid_count': that.data.orderData.unpaid_count - 1
               });
               that.getOrderData();
               return app.Tips({
                    title: '删除成功',
                    icon: 'success'
               });
          }).catch(err => {
               return app.Tips({
                    title: err
               });
          })
     },
     /**
      * 生命周期函数--监听页面初次渲染完成
      */
     onReady: function() {

     },

     /**
      * 生命周期函数--监听页面显示
      */
     onShow: function() {
          if (app.globalData.isLog && this.data.isClose) {
               this.getOrderData();
               this.setData({
                    loadend: false,
                    page: 1,
                    orderList: []
               });
               this.getOrderList();
          }
     },
     // 分享
     onShareAppMessage: function(res) {
          var that = this;
        console.log(app.globalData.userInfo)
        console.log('/pages/goods_details/index?id=' + res.target.dataset.product.cartInfo[0].product_id + '&spid=' + app.globalData.userInfo.uid + '&isshare=' + 1 + '&order_id=' + res.target.dataset.product.order_id);return;
          userShare();
          return {
             title: res.target.dataset.product.cartInfo[0].productInfo.store_name || '',
             imageUrl: res.target.dataset.product.cartInfo[0].productInfo.image || '',
             path: '/pages/goods_details/index?id=' + res.target.dataset.product.cartInfo[0].product_id + '&spid=' + app.globalData.userInfo.uid + '&isshare=' + 1 + '&order_id=' + res.target.dataset.product.order_id,
          }
     },
     /**
      * 生命周期函数--监听页面隐藏
      */
     onHide: function() {
          this.setData({
               isClose: true
          });
     },

     /**
      * 生命周期函数--监听页面卸载
      */
     onUnload: function() {

     },

     /**
      * 页面相关事件处理函数--监听用户下拉动作
      */
     onPullDownRefresh: function() {

     },

     /**
      * 页面上拉触底事件的处理函数
      */
     onReachBottom: function() {
          this.getOrderList();
     },
   go_top: function () {
      if (wx.pageScrollTo) {
         wx.pageScrollTo({
            scrollTop: 0
         })
      } else {
         wx.showModal({
            title: '提示',
            content: '当前微信版本过低，无法使用该功能，请升级到最新微信版本后重试。'
         })
      }

   },
})